前端进阶之旅前端进阶之旅
基础篇
进阶篇
高频篇
精选篇
手写篇
原理篇
面经篇
自检篇
每日一题
  • 综合
    • 综合题型
    • 其他问题
    • 设计模式
    • 思维导图
    • 学习路线
  • 前端基础
    • HTTP
    • 浏览器
    • 计算机基础
  • 进阶学习
    • NPM工作流
    • Docker
    • Canvas
    • Node学习指南
    • 前端综合文章
  • 其他
    • Handbook
    • 职场话题
    • CSS可视化
小程序题库
公众号动态
博客动态
开发者导航
基础篇
进阶篇
高频篇
精选篇
手写篇
原理篇
面经篇
自检篇
每日一题
  • 综合
    • 综合题型
    • 其他问题
    • 设计模式
    • 思维导图
    • 学习路线
  • 前端基础
    • HTTP
    • 浏览器
    • 计算机基础
  • 进阶学习
    • NPM工作流
    • Docker
    • Canvas
    • Node学习指南
    • 前端综合文章
  • 其他
    • Handbook
    • 职场话题
    • CSS可视化
小程序题库
公众号动态
博客动态
开发者导航
  • React专栏

    • React组合式开发实战

      • 前端开发的四个时代
      • 企业管理系统的前世今生
      • 可视化页面搭建工具
      • 实战篇 01:开发前准备
      • 实战篇 02:项目脚手架
      • 实战篇 03:页面布局方案
      • 实战篇 04:权限管理机制
      • 实战篇 05:菜单匹配逻辑
      • 实战篇 06:消息通知设计
      • 实战篇 07:多语言支持
      • 继往开来:可视化页面搭建工具
    • React Hooks与Immutable实战

    • React SSR服务端渲染与同构实践

    • IM聊天系统前端开发实践

    • 微前端开发实战

    • React进阶实践

  • Vue专栏

  • 移动端专栏

  • Node专栏

  • 前端工程化专栏

  • 算法专栏

  • Typescript专栏

  • 其他专栏

完整面试题地址:
作者:程序员poetry
扫码关注作者公众号:「前端进阶之旅」 每天分享技术干货
前端进阶之旅公众号二维码

# 学习里程碑 | 🏆 - 服务端完结

从第一章看到现在的同学,按照文章的内容一起开发,此时你已经有一套基础的 DevOps 项目。

可以完成一套简单的 H5 项目从创建 - 开发 - 构建 - 发布的流程。

image.png

学完上述所有章节之后,此时应该能解锁下述技能成就:

  1. 能够独立完成开发环境的搭建。
  2. 熟悉基本的服务器操作以及 shell 脚本的开发。
  3. 熟悉 GitLab 更多的功能,了解 Open Api 与 OAuth2 授权等。
  4. 熟悉 Egg 框架的开发,能够完成基本的增删改查。
  5. 对数据库的操作与表设计有一定的了解。
  6. 对工程化有初步的理解与实践。

服务端的内容至此已经完结,后面将是脚手架篇的内容。此时项目依然是不完整的,也有很多欠缺的地方。

随着后续的内容,会逐步将现有的基础项目进一步丰富起来,最终达到一个可用的完整项目。

如果你有什么疑问,欢迎在评论区提出 👏

# QA 环节

# 1. 为什么一定要使用 GitLab,GitHub 与 Gitee 不行吗?

  1. 由于这两个平台没有提供私有化部署,私人项目的需要付费使用,对于一个大一点的团队的话,性价比不是非常高。有些团队的代码希望能够自己保密,所以会选择 GitLab 私有化部署
  2. 其次,在后期的 cli 章节,想针对 GitLab 与 Node 互通做更多的定制,会尝试修改 Server Hook,这一块就需要对 GitLab 的服务端有一定的权限操作。GitHub 与 Gitee 没办法提供到。

# 2. 只是为了学习目的,如何使用 GitHub 与 Gitee 替换目前的 GitLab

GitHub 与 Gitee 都提供了对应的 open api,并且提供了 OAuth2 认证,下面是两个平台的文档:

  • GitHub Doc
  • Gtiee Doc

另外之前项目中封装过 GitLab Api 也是出于有这种需求的同学考虑,项目中将 GitLab Api 在 helper 封装了一层,业务代码中引用的是封装过后的 api。只要在 help 层将对应的 api 修改掉,业务层是需要修改就能直接使用,不过构建拉取代码的脚本则需要修改。

# 3. 为什么要写一套基于 GitLab 的 DevOps,GitLab 自带的 CI/CD 不够用吗?

首先,GitLab 的 CI/CD 非常棒,很通用、简单,大多数的小团队可以直接使用。

工程化的主干都是大同小异,但是在每个团队不同业务、场景下也会有自己的优化、定制。

工程化的一套体系不仅仅在 CI/CD 这一块,也包括项目管理、能效、监控等其他的内容,涉及到很多的软件、工具、平台,使用 Node 不仅仅将 GitLab 的功能集成进来,还可以将其他想要的内容集成进来,例如,GitLab 的用户与企业微信、钉钉用户关联打通等操作。

# 4. 为什么用 Windows 作为 demo 以及使用虚拟机

  1. Mac 的价格不便宜,也不是所有的程序员的都会使用,很多小型公司的程序员可能还是用台式机办公
  2. 其次,使用 Mac 的同学,对操作系统,shell 脚本这块,一般都会比 Windows 同学更熟悉,毕竟图形化的界面会弱化一些程序员的必备技能
  3. Docker 的版本打算放在 Docker 章节统一说,所以在服务端的环境配置就没有写了
  4. 无论是什么样的虚拟机、WSL2、云服务器或者 Docker,只要能够正常配置完毕开发环境的话,都不会影响服务端的学习。

综上的各种原因,所以第一个版本会以 Widows + 虚拟机的环境配置为主,整个系列补充完整之后可以再补充其他的,如果有同学感兴趣、时间富裕的话可以出相关的博客教学,也可以通知我添加附录。

# 为什么没有完整项目代码

完整项目代码

完整项目代码在上述项目中,需要的同学自取,由于涉及的内容比较多,目前还在抓紧更新项目中。

每个团队与人对工程化实践的链路细节都有所不同,还是建议想学习的同学可以自己多写写,项目只是做个参考,并不是唯一标准。

fe
基础篇
进阶篇
高频篇
精选篇
手写篇
原理篇
面经篇
自检篇
每日一题
  • 综合
    • 综合题型
    • 其他问题
    • 设计模式
    • 思维导图
    • 学习路线
  • 前端基础
    • HTTP
    • 浏览器
    • 计算机基础
  • 进阶学习
    • NPM工作流
    • Docker
    • Canvas
    • Node学习指南
    • 前端综合文章
  • 其他
    • Handbook
    • 职场话题
    • CSS可视化
小程序题库
公众号动态
博客动态
开发者导航
  • React专栏

    • React组合式开发实战

      • 前端开发的四个时代
      • 企业管理系统的前世今生
      • 可视化页面搭建工具
      • 实战篇 01:开发前准备
      • 实战篇 02:项目脚手架
      • 实战篇 03:页面布局方案
      • 实战篇 04:权限管理机制
      • 实战篇 05:菜单匹配逻辑
      • 实战篇 06:消息通知设计
      • 实战篇 07:多语言支持
      • 继往开来:可视化页面搭建工具
    • React Hooks与Immutable实战

    • React SSR服务端渲染与同构实践

    • IM聊天系统前端开发实践

    • 微前端开发实战

    • React进阶实践

  • Vue专栏

  • 移动端专栏

  • Node专栏

  • 前端工程化专栏

  • 算法专栏

  • Typescript专栏

  • 其他专栏